﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using LexLib.LexemNameSpace;

namespace TextEditor4.Parser
{
    class ParserTree
    {
        class ParserTreeItem
        {
            //начало области видимости лексемы
            private int begin;
            //конец оласти видимости лексемы
            private int end;
            //тип текущей лексемы.
            //возможно, имеет смысл рассматривать только два типа лексем - "узел" и "лист"
            private ILexemType type;
            //если это узел, то список детей
            private List<ParserTreeItem> children;
            //строка, содеражние этой лексемы(буквенное, её имя)
            private string content;
            private ParserTreeItem father = null;

            public ParserTreeItem(int b, int e, ILexemType t, string c, ParserTreeItem f)
            {
                this.begin = b;
                this.end = e;
                this.content = c;
                this.type = t;
                this.father = f;
            }

            public ParserTreeItem(int b, int e, ILexemType t, string c)
            {
                this.begin = b;
                this.end = e;
                this.content = c;
                this.type = t;
            }
            
            private void addChild(ParserTreeItem myPTI)
            {
                this.children.Add(myPTI);
            }

            

        }




    }
}
